package prjtgl.bdd.comptes.interactions_utilisateur;

import java.util.List;
import org.hibernate.Query;
import prjtgl.bdd.HGeneral;
import prjtgl.metier.comptes.Membre;
import prjtgl.metier.comptes.interactions_utilisateur.DemandeContact;

/**
 * Gestionnaire BDD des demandes de contact
 * @author Lucie
 */
public class HDemandeContact extends HGeneral {
	
	/**
	 * Lister toutes les demandes recues d'un membre
	 * @param demande Membre dont on veut les demandes qu'il a recu
	 * @return Liste des demandes
	 */
	public List<DemandeContact> listerToutesDemandesRecues(Membre demande){
		session.beginTransaction();
		Query q = session.createQuery("from DemandeContact where id_demande = " + demande.getId());
		List<DemandeContact> demandes = q.list();
		return demandes;
	}
	
	/**
	 * Lister toutes les demandes envoyees d'un membre
	 * @param demande Membre dont on veut les demandes qu'il a envoyees
	 * @return Liste des membres
	 */
	public List<DemandeContact> listerToutesDemandesEnvoyees(Membre demande){
		session.beginTransaction();
		Query q = session.createQuery("from DemandeContact where id_demandeur = " + demande.getId());
		List<DemandeContact> demandes = q.list();
		return demandes;
	}
	
	
	public void supprimerDemande(DemandeContact demande){
		session.beginTransaction();
		Query q = session.createSQLQuery(
			"delete from demande_contact "
			+ "where id_demandeur = '" + demande.getDemandeur().getId()
			+ "' and id_demande = '" + demande.getDemande().getId() + "'"
		);
		q.executeUpdate();
		session.getTransaction().commit();
	}
}
